『試して理解Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識』
#技術書
書籍情報
書名
試して理解Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識
著者
竹内覚
書影
https://images-fe.ssl-images-amazon.com/images/I/51CPvtuv%2BwL.jpg
Amazon
https://amzn.to/39iVKn1
紹介文
(概要)
ITシステムやソフトウェアの開発,運用において,その基盤となるOSやハードウェアのしくみや動作を,具体的にイメージすることができるでしょうか。
本書では,サーバ,クラウドからスマートフォン,IoT機器まで幅広く利用されているLinux OSを対象に,プロセススケジューラ,メモリ管理,記憶階層,ファイルシステム,ストレージデバイスなど,OSとハードウェアに関するしくみがどのように動くのか,実験とその結果を示すグラフを用いてわかりやすく解説します。
(こんな方におすすめ)
・Linuxの動作や仕組みに興味がある方
・OSやハードウェアのしくみを手軽に学びたいと考えている方
目次
本書に寄せて(小崎資広)
はじめに
第1章 コンピュータシステムの概要
第2章 ユーザモードで実現する機能
システムコール
システムコールのラッパー関数
標準Cライブラリ
OSが提供するプログラム
第3章 プロセス管理
2段階のプロセス生成
fork()関数
execve()関数
終了処理
第4章 プロセススケジューラ
実験プログラムの仕様
実験プログラムの実装
実験
考察
コンテキストスイッチ
プロセスの状態
状態遷移
アイドル状態
さまざまな状態遷移
スループットとレイテンシ
実際のシステム
論理CPUが複数の場合のスケジューリング
実験方法
実験結果
スループットとレイテンシ
考察
経過時間と使用時間
スリープするプロセス
現実のプロセス
優先度の変更
第5章 メモリ管理
メモリに関する統計情報
Out Of Memory
単純なメモリ割り当て
仮想記憶
ページテーブル
実験
プロセスへのメモリ割り当て
実験
上位レイヤによるメモリ割り当て
問題の解決
仮想記憶の応用
ファイルマップ
デマンドページング
コピーオンライト
スワップ
階層型ページテーブル
ヒュージページ
第6章 記憶階層
キャッシュメモリ
キャッシュメモリがいっぱいになったら
階層型キャッシュメモリ
キャッシュの実験
参照の局所性
まとめ
Translation Lookaside Buffer
ページキャッシュ
同期書き込み
バッファキャッシュ
ファイル読み出しの実験
ファイル書き込みの実験
チューニングパラメータ
まとめ
ハイパースレッド
第7章 ファイルシステム
Linuxのファイルシステム
データとメタデータ
容量制限
ファイルシステムの不整合
ジャーナリング
コピーオンライト
それでも防げない場合
ファイルシステム不整合への対策
ファイルの種類
キャラクタデバイス
ブロックデバイス
さまざまなファイルシステム
メモリベースのファイルシステム
ネットワークファイルシステム
仮想ファイルシステム
Btrfs
第8章 ストレージデバイス
HDDのデータ読み書きのしくみ
HDDの性能特性
HDDの実験
実験プログラム
シーケンシャルアクセス
ランダムアクセス
ブロックデバイス層
I/Oスケジューラ
先読み
実験
SSDのしくみ
まとめ
あとがき